The present invention relates to systems and methods to reduce aliasing in graphical images. Aliasing refers to the distortions that occur when a computer graphic is rendered at a resolution other than the original resolution. These distortions often appear as jagged lines and jagged edges of objects. Anti-aliasing refers to the techniques used to minimize the effects, or distortions, of aliasing. For example, anti-aliasing techniques can reduce the jagged lines and jagged edges of objects. Anti-aliasing is a common technique to improve image quality for graphics and other image based applications.
There are many conventional methods to address image quality and the cost of anti-aliasing. Example methods for anti-aliasing in computer graphics applications include supersample anti-aliasing and multisample anti-aliasing. Supersample and multisample anti-aliasing are often used for complete full scene anti-aliasing. In computer graphics, full scene anti-aliasing addresses the aliasing issues at the edge of an object and at the intersection of interpenetrating objects. Supersample anti-aliasing is implemented by rendering a scene at a higher resolution and then down-converting to a lower resolution output. In order to render the scene at a higher resolution, subsamples are used by taking more samples than would ordinarily be used for a single pixel. Mulitsample anti-aliasing is similar to supersample anti-aliasing, except that it is achieved at least partially through hardware optimization. In general, multisample anti-aliasing is less computationally complex than supersample anti-aliasing at the same performance and quality levels because of these hardware optimizations. Therefore, multisample anti-aliasing is typically implemented, instead of supersample anti-aliasing, in many modern computer graphics systems.
For supersample and multisample anti-aliasing, the quality of the image is highly dependent on the number of samples or subsamples used. Using a larger number of samples or subsamples generally produces a higher quality image. However, using a larger number of samples or subsamples consumes more memory resources for storing the samples and more bandwidth to communicate the increased sample or subsample data. Additionally, using a larger number of samples or subsamples consumes significant computational resources, such as resources of the central processing unit (CPU) or the graphics processing unit (GPU).
Throughout the description, similar reference numbers may be used to identify similar elements.